package com.woniu.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author doujiao
 * @since 2022-10-17
 */
@Getter
@Setter
@TableName("tb_user")
@ApiModel(value = "User对象", description = "用户表")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

      @ApiModelProperty("用户id")
      @TableId(value = "id", type = IdType.AUTO)
      private Long id;

      @ApiModelProperty("用户头像")
      private String image;

      @ApiModelProperty("姓名")
      private String name;

      @ApiModelProperty("身份证号")
      private Long code;

      @ApiModelProperty("性别")
      private String sex;

      @ApiModelProperty("年龄")
      private String age;

      @ApiModelProperty("出生年月")
      @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
      @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd'T'HH:mm:ss")
      private Date birthday;

      @ApiModelProperty("手机号")
      private String phone;

      @ApiModelProperty("地址")
      private String address;

      @ApiModelProperty("登录密码")
      private String password;

      @ApiModelProperty("居民状态0启用")
      private String status;

      @ApiModelProperty("签约类型，0待签约。签约中，2，签约生效中，3待续约")
      private String signType;

      @ApiModelProperty("团队id")
      private Long teamId;

      @ApiModelProperty("服务包id")
      private Long packageId;

      @ApiModelProperty("签约状态状态类型")
      private Long signStatusId;

      @ApiModelProperty("标签id")
      private Long labelId;

      @ApiModelProperty("家庭成员id")
      private Long familyId;

      @ApiModelProperty("机构的id")
      @TableField(fill = FieldFill.INSERT)
      private Long organizationId;

      @ApiModelProperty("创建时间")
      private Date createTime;

      @ApiModelProperty("更新时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
      private Date updateTime;

      @ApiModelProperty("逻辑删除(1:已删除，0:未删除)")
      private String isDeleted;
}
